변수(Variables)와 상수(Constant)

✒️ 2025-05-16 13:41 내용 수정


특정 데이터를 저장하기 위한 메모리 공간

종류

  1. 기본형 변수(primitive type) : 실제 연산에 사용되는 변수. (데이터 타입(Data Types) 참고)
  2. 참조형 변수(reference type) : 객체를 참조하기 위한 변수.
    • 객체의 주소(메모리 위치)를 저장하며, 해당 주소를 사용해서 실제 객체에 접근한다.
    • 객체는 힙(Heap) 메모리에 동적으로 할당되며, 참조형 변수는 해당 객체를 가리키고, 스택 영역(Stack)에 저장된다.
    • 참조형 변수로 객체의 속성(멤버 변수)에 접근하거나 객체의 메소드를 호출할 수 있다.
      • object.method()
    • Null 값을 가질 수 있고, 더 이상 참조되지 않는 객체는 가비지 컬렉터에 의해 자동으로 정리된다.
type 변수이름 = 초기값;
int a;
a = a+1; // => error! 초기값이 없어서 누적 불가

변수 타입 별 초깃값

변수 타입 초깃값
char '\u0000'
byte, short, int 0
long 0L
float 0.0F
double 0.0 또는 0.0D
boolean false
배열, 인스턴스 등 null

상수(Constant)

변수처럼 데이터를 저장할 수 있는 메모리 공간이지만, 프로그램이 실행되는 동안 메모리에 저장된 데이터를 변경할 수 없다.

static final type 상수이름 = 값;
static final int speedOfLight = 299,792,458; // 단위 m/s, 놀랍게도 int다
static const int radiusOfEarth = 6,371; // 단위 km

리터럴(Literal)

그 자체로 값을 의미하는 것

int var = 30; // 30이 리터럴
fianl int con = 100; // 100이 리터럴
String test = "String Test";